/**
 * 
 */
package com.kmk.phonetuition;

import com.kmk.phonetuition.R;

/**
 * @author kristenkatona
 *
 */
public class CalendarCondition {
	
	/* Final variables */
	final private String BIRTHDAY = "Birthday";
	
	/* Enum to represent Outlook event types */
	private enum OutlookEventType{ ANY, FREE, TENTATIVE, BUSY, OUT_OF_OFFICE }	/* With this event type for Outlook calendar */
	
	/* Data member variables */
	private boolean google_calendar = false;	/* If Google calendar event */
	private boolean outlook_calendar= false;   /* If Outlook caldendar event */
	private boolean holiday_calendar = false; 	/* If Holiday calendar event */
	private String keyword_title = "";			/* With this keyword in the title */
	private String keyword_description = "";	/* With this keyword in the description */

	private OutlookEventType outlookEventType = OutlookEventType.ANY;
	
	/**
	 * @param calendarType
	 * @param keywordTitle
	 * @param keywordDescription
	 * @param outlookEventType
	 */
	protected CalendarCondition(boolean googleCalendar, boolean outlookCalendar, boolean holidayCalendar, String keywordTitle,
			String keywordDescription, OutlookEventType outlkEventType) {
		
		google_calendar = googleCalendar;
		outlook_calendar = outlookCalendar;
		keyword_title = keywordTitle;
		keyword_description = keywordDescription;
		outlookEventType = outlkEventType;
	}
	
	protected CalendarCondition() {
		/* Null Constructor */
	}
	
	protected CalendarCondition newBirthdayCondition() {
		CalendarCondition birthdayCondition = new CalendarCondition(true, true, true, BIRTHDAY, BIRTHDAY, OutlookEventType.ANY);
		return birthdayCondition;
	}

	/**
	 * @return the google_calendar
	 */
	protected boolean isGoogle_calendar() {
		return google_calendar;
	}

	/**
	 * @param googleCalendar the google_calendar to set
	 */
	protected void setGoogle_calendar(boolean googleCalendar) {
		google_calendar = googleCalendar;
	}

	/**
	 * @return the outlook_calendar
	 */
	protected boolean isOutlook_calendar() {
		return outlook_calendar;
	}

	/**
	 * @param outlookCalendar the outlook_calendar to set
	 */
	protected void setOutlook_calendar(boolean outlookCalendar) {
		outlook_calendar = outlookCalendar;
	}

	/**
	 * @return the holiday_calendar
	 */
	protected boolean isHoliday_calendar() {
		return holiday_calendar;
	}

	/**
	 * @param holidayCalendar the holiday_calendar to set
	 */
	protected void setHoliday_calendar(boolean holidayCalendar) {
		holiday_calendar = holidayCalendar;
	}

	/**
	 * @return the keyword_title
	 */
	protected String getKeyword_title() {
		return keyword_title;
	}

	/**
	 * @param keywordTitle the keyword_title to set
	 */
	protected void setKeyword_title(String keywordTitle) {
		keyword_title = keywordTitle;
	}

	/**
	 * @return the keyword_description
	 */
	protected String getKeyword_description() {
		return keyword_description;
	}

	/**
	 * @param keywordDescription the keyword_description to set
	 */
	protected void setKeyword_description(String keywordDescription) {
		keyword_description = keywordDescription;
	}

	/**
	 * @return the outlookEventType
	 */
	protected OutlookEventType getOutlookEventType() {
		return outlookEventType;
	}

	/**
	 * @param outlookEventType the outlookEventType to set
	 */
	protected void setOutlookEventType(OutlookEventType outlookEventType) {
		this.outlookEventType = outlookEventType;
	}
}
